/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fiad.model;

import fiad.model.person.Person;
import fiad.model.person.Schueler;
import fiad.model.notenverwaltung.Kurs;
import fiad.model.person.Lehrer;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * 
 */
@Entity
@Table(name = "klasse")
@NamedQueries({
    @javax.persistence.NamedQuery(name = "lesenKlasse", query = "Select klasse FROM Klasse klasse WHERE klasse.id = :klasse"),
    @javax.persistence.NamedQuery(name = "lesenALLEKlasse", query = "Select klasse FROM Klasse klasse")})
public class Klasse implements Serializable {

    @Id
    @GeneratedValue
    private Long id;
    @OneToMany(cascade=CascadeType.ALL, mappedBy = "klasse")
    private List<Schueler> schueler = new ArrayList<Schueler>();
    private String name;
    private String stufe;
    private String schuljahr;
    @ManyToOne(cascade=CascadeType.ALL)
    private Lehrer klassenLehrer;
    
    @ManyToMany
    private List<Kurs> kurse = new ArrayList<Kurs>();
    private String fachrichtung;
    private String ausbildungsBeruf;

    public String getAusbildungsBeruf() {
        return ausbildungsBeruf;
    }

    public void setAusbildungsBeruf(String ausbildungsBeruf) {
        this.ausbildungsBeruf = ausbildungsBeruf;
    }


    public String getFachrichtung() {
        return fachrichtung;
    }

    public void setFachrichtung(String fachrichtung) {
        this.fachrichtung = fachrichtung;
    }

    public List<Kurs> getKurse() {
        return kurse;
    }

    public void setKurse(List<Kurs> kurse) {
        this.kurse = kurse;
    }

    public Long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public Person getKlassenLehrer() {
        return klassenLehrer;
    }

    public void setKlassenLehrer(Lehrer klassenLehrer) {
        this.klassenLehrer = klassenLehrer;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<Schueler> getSchueler() {
        return schueler;
    }

    public void setSchueler(List<Schueler> schueler) {
        this.schueler = schueler;
    }

    public String getSchuljahr() {
        return schuljahr;
    }

    public void setSchuljahr(String schuljahr) {
        this.schuljahr = schuljahr;
    }

    public String getStufe() {
        return stufe;
    }

    public void setStufe(String stufe) {
        this.stufe = stufe;
    }

    @Override
    public String toString() {
        return name;
    }
}
